#ifndef     IMAGEMANAGER_H_
# define    IMAGEMANAGER_H_

# include <SFML/Graphics.hpp>
# include <map>
# include <string>
# include "../ObjManager.hpp"
# include "../vector.h"

class ImageManager
{
public:
    ImageManager() : _imagePool(5) {}
    sf::Image * requireImage(std::string const & filename);
    void disposeOf(std::string const & filename);
    vector getImgSize(std::string const & filename);

private:
    ObjManager<sf::Image>               _imagePool;
    std::map<std::string, sf::Image*>   _images;
    std::map<std::string, unsigned int> _usesCount;
};

#endif   /* IMAGEMANAGER_H_ */
